package com.ltkj.shop.domain;

import java.math.BigDecimal;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ltkj.common.core.annotation.Excel;
import com.ltkj.common.core.web.domain.BaseEntity;

/**
 * 餐饮菜品对象 shop_restaurant_menu
 *
 * @author xupf
 * @date 2023-09-09
 */
@ApiModel(value = "餐饮菜品")
public class ShopRestaurantMenu extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 菜品id */
    @ApiModelProperty("菜品id")
    private Long id;

    /** 基础店铺ID */
    @Excel(name = "基础店铺ID")
    @ApiModelProperty("基础店铺ID")
    private Long sysStoresId;

    /** 用户id */
    @Excel(name = "用户id")
    @ApiModelProperty("用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /** 餐饮商户id */
    @Excel(name = "餐饮商户id")
    @ApiModelProperty("餐饮商户id")
    private Long restaurantId;

    /** 菜品名称 */
    @Excel(name = "菜品名称")
    @ApiModelProperty("菜品名称")
    private String name;

    /** 缩略图 */
    @Excel(name = "缩略图")
    @ApiModelProperty("缩略图")
    private String imgAbbrev;

    /** 类型id shop_rest_menu_type 表id*/
    @Excel(name = "类型id")
    @ApiModelProperty("类型id")
    private Long typeId;

    /** 菜品种类
     *  弃用字段，使用typeId区分
     */
    @Excel(name = "菜品种类")
    @ApiModelProperty("菜品种类")
    private String type;

    /** 菜品会员价 */
    @Excel(name = "菜品会员价")
    @ApiModelProperty("菜品会员价")
    private BigDecimal vipPrice;

    /** 菜品价格 */
    @Excel(name = "菜品价格")
    @ApiModelProperty("菜品价格")
    private BigDecimal price;

    /** 推荐指数 */
    @Excel(name = "推荐指数")
    @ApiModelProperty("推荐指数")
    private String recValue;

    /** 亮点 */
    @Excel(name = "亮点")
    @ApiModelProperty("亮点")
    private String feature;

    /** 菜品详情 */
    @Excel(name = "菜品详情")
    @ApiModelProperty("菜品详情")
    private String content;

    /** 状态（1上架 0下架） */
    @Excel(name = "状态", readConverterExp = "1=上架,0=下架")
    @ApiModelProperty("状态（1上架 0下架）")
    private String status;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    @ApiModelProperty("逻辑删除")
    private String isDel;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setSysStoresId(Long sysStoresId)
    {
        this.sysStoresId = sysStoresId;
    }

    public Long getSysStoresId()
    {
        return sysStoresId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setRestaurantId(Long restaurantId)
    {
        this.restaurantId = restaurantId;
    }

    public Long getRestaurantId()
    {
        return restaurantId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setImgAbbrev(String imgAbbrev)
    {
        this.imgAbbrev = imgAbbrev;
    }

    public String getImgAbbrev()
    {
        return imgAbbrev;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setVipPrice(BigDecimal vipPrice)
    {
        this.vipPrice = vipPrice;
    }

    public BigDecimal getVipPrice()
    {
        return vipPrice;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setRecValue(String recValue)
    {
        this.recValue = recValue;
    }

    public String getRecValue()
    {
        return recValue;
    }
    public void setFeature(String feature)
    {
        this.feature = feature;
    }

    public String getFeature()
    {
        return feature;
    }
    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setIsDel(String isDel)
    {
        this.isDel = isDel;
    }

    public String getIsDel()
    {
        return isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("sysStoresId", getSysStoresId())
                .append("userId", getUserId())
                .append("restaurantId", getRestaurantId())
                .append("typeId", getTypeId())
                .append("name", getName())
                .append("imgAbbrev", getImgAbbrev())
                .append("type", getType())
                .append("vipPrice", getVipPrice())
                .append("price", getPrice())
                .append("recValue", getRecValue())
                .append("feature", getFeature())
                .append("content", getContent())
                .append("status", getStatus())
                .append("isDel", getIsDel())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
